/*
 * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package java.awt.image;

/**
 * An interface for objects that wish to be informed when tiles
 * of a WritableRenderedImage become modifiable by some writer via
 * a call to getWritableTile, and when they become unmodifiable via
 * the last call to releaseWritableTile.
 *
 * @author Thomas DeWeese
 * @author Daniel Rice
 * @see WritableRenderedImage
 */
public interface TileObserver {

    /**
     * A tile is about to be updated (it is either about to be grabbed
     * for writing, or it is being released from writing).
     *
     * @param source         the image that owns the tile.
     * @param tileX          the X index of the tile that is being updated.
     * @param tileY          the Y index of the tile that is being updated.
     * @param willBeWritable If true, the tile will be grabbed for writing;
     *                       otherwise it is being released.
     */
    public void tileUpdate(WritableRenderedImage source,
                           int tileX, int tileY,
                           boolean willBeWritable);

}
